package cn.com.dcsgo.service;

import cn.com.dcsgo.domain.po.SysUser;
import cn.com.dcsgo.utils.SecurityUtils;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;

/**
 * SysBaseService
 *
 * @author Dcsgo
 * @since 23/5/2025 上午 9:08
 */

public interface SysBaseService<T> {
    /**
     * MyBatis分页查询
     *
     * @param pageNumber 页码
     * @param pageSize   分页大小
     * @return 分页查询结果
     */
    default Page<T> startPage(Integer pageNumber, Integer pageSize) {
        return PageHelper.startPage(pageNumber, pageSize);
    }

    /**
     * 得到当前登录用户名
     *
     * @return 当前登录用户名
     */
    default String getUsername() {
        return SecurityUtils.getUsername();
    }

    /**
     * 得到当前登录用户信息
     *
     * @return 当前登录用户信息
     */
    default SysUser getCurrentUser() {
        return SecurityUtils.getCurrentUser();
    }
}
